<?php
class ticket
{

	public static function ListaTodos($status)
	{

            if($status=='todos')
            {
		//Monta Paginação
		$sql_paginacao = "SELECT ticket_id FROM " .TB_TICKETS. " ORDER BY ticket_datahora";
            }
            else
            {
                $sql_paginacao = "SELECT ticket_id FROM " .TB_TICKETS. " Where ticket_status='".$status."' ORDER BY ticket_datahora";
            }
		$r = Paginacao::Monta(7,$sql_paginacao);

		//Armazeno o retorno da paginacao em nossa array $content, no indice paginacao
		//assim fica fácil identificar do que se tratam os dados desta array
		$content['paginacao'] = $r;

		if($r !== false)
		{

			//Monto minha query de consulta, utilizando nossa constante
			//para definir qual tabela vamos trabalhar
			//Observe que foi passado a array $r[0] que é o retorno da nossa paginação o índice 0
			//que possui o complemento da query "LIMIT int,int", esse valor e obtido na classe
			//paginacao que está em nossa library
             if($status=='todos')
            {
			$sql = "SELECT ticket_id,ticket_protocolo,ticket_datahora,ticket_site,ticket_cliente_nome,ticket_cliente_email,ticket_assunto,ticket_questao,ticket_status FROM " .TB_TICKETS. " ORDER BY ticket_datahora DESC " .$r[0];
            }
            else
            {
                        $sql = "SELECT ticket_id,ticket_protocolo,ticket_datahora,ticket_site,ticket_cliente_nome,ticket_cliente_email,ticket_assunto,ticket_questao,ticket_status FROM " .TB_TICKETS. " Where ticket_status='".$status."' ORDER BY ticket_datahora DESC " .$r[0];
            }
			//Instancio a classe de manipulação
			$res = new ManipulaSql();

			//Chamamos o método reponsável por selecionar os dados
			$res->Seleciona($sql);

			//nosso mátodo retorna o objeto content que contém os dados da consulta
			//então vamos verificar se nossa consulta retornou alguma informação
			if(isset($res->content) && $res->content !== NULL)
			{
				//Caso existam dados, armazenamos o resultado da consulta
				//em nossa variável de retorno content, o índice dados
				$content['dados'] = $res->content;

				//Agora nossa variável content possui
				//$content['paginacao'] os dados da paginação
				//$content['dados'] os dados da consulta feita no banco

				return $content;
			}
		}

		//Caso não seja encontrado nenhum administrador, então retornamos false
		//pois assim podemos fazer a validação em nossa view
		else
		{
			return false;
		}
	}

    public static function ListaStatus($status)
	{
		//Monta Paginação
		$sql_paginacao = "SELECT ticket_id FROM " .TB_TICKETS. " Where ticket_status=".$status." ORDER BY ticket_datahora";
		$r = Paginacao::Monta(7,$sql_paginacao);

		//Armazeno o retorno da paginacao em nossa array $content, no indice paginacao
		//assim fica fácil identificar do que se tratam os dados desta array
		$content['paginacao'] = $r;

		if($r !== false)
		{

			//Monto minha query de consulta, utilizando nossa constante
			//para definir qual tabela vamos trabalhar
			//Observe que foi passado a array $r[0] que é o retorno da nossa paginação o índice 0
			//que possui o complemento da query "LIMIT int,int", esse valor e obtido na classe
			//paginacao que está em nossa library
			$sql = "SELECT ticket_id,ticket_protocolo,ticket_datahora,ticket_site,ticket_cliente_nome,ticket_cliente_email,ticket_assunto,ticket_questao,ticket_status FROM " .TB_TICKETS. " Where ticket_status=".$status." ORDER BY ticket_datahora " .$r[0];

			//Instancio a classe de manipulação
			$res = new ManipulaSql();

			//Chamamos o método reponsável por selecionar os dados
			$res->Seleciona($sql);

			//nosso mátodo retorna o objeto content que contém os dados da consulta
			//então vamos verificar se nossa consulta retornou alguma informação
			if(isset($res->content) && $res->content !== NULL)
			{
				//Caso existam dados, armazenamos o resultado da consulta
				//em nossa variável de retorno content, o índice dados
				$content['dados'] = $res->content;

				//Agora nossa variável content possui
				//$content['paginacao'] os dados da paginação
				//$content['dados'] os dados da consulta feita no banco

				return $content;
			}
		}

		//Caso não seja encontrado nenhum administrador, então retornamos false
		//pois assim podemos fazer a validação em nossa view
		else
		{
			return false;
		}
	}

	public static function ListaSelecionado()
	{
		//Monto minha query de consulta, utilizando nossa constante
		//para definir qual tabela vamos trabalhar
		$sql = "SELECT ticket_id,ticket_protocolo,ticket_datahora,ticket_site,ticket_cliente_nome,ticket_cliente_email,ticket_assunto,ticket_questao,ticket_status FROM " .TB_TICKETS. " WHERE ticket_id='" .$_GET['cod']. "' ORDER BY ticket_datahora ";
		//Instancio a classe de manipulação
		$res = new ManipulaSql();
		//Chamamos o método reponsável por selecionar os dados
		$res->Seleciona($sql);
		//nosso método retorna o objeto content que contém os dados da consulta
		//então vamos verificar se nossa consulta retornou alguma informação
		if(isset($res->content) && $res->content !== NULL)
		{
			//Caso existam dados, armazenamos o resultado da consulta
			//em nossa variável de retorno CONTENT
			return $res->content;
		}
		//Caso não seja encontrado nenhum administrador, então retornamos false
		//pois assim podemos fazer a validação em nossa view
		else
		{
			return false;
		}
	}


	public static function insere()
	{
		//vamos instanciar nossa classe de manipulação de dados
		$i = new ManipulaSql();

		//remove acento dos usuários
		//$usuario = removeAcentos($_POST['usuario']);

		//Montamos nossa query de inserção
		$sql = "INSERT INTO " .TB_TICKETS. "
				(ticket_protocolo,ticket_datahora,ticket_site,ticket_cliente_nome,ticket_cliente_email,ticket_assunto,ticket_questao,ticket_status)
				VALUES
				('" .$_POST['protocolo']. "',
				 '" .$_POST['datahora']. "',
				 '" .$_POST['site']. "',
                                 '" .$_POST['cliente_nome']. "',
                                 '" .$_POST['cliente_email']. "',
                                 '" .$_POST['assunto']. "',
				 '" .$_POST['questao']. "',
                                 'Ativado'
                                 )";

		//Agora chamamos o método reposável por inserir
		//vindo da classe de manipulação do mysql
		$i->Insere($sql);
		//verificamos se tudo ocorreu bem
		if($i->content === true)
		{
			//Caso tudo tenha ocorrido bem retorna true
			return true;
		}
		else
		{
			//retorna false se deu erro
			return false;
		}
	}

    public static function responder()
	{
		//vamos instanciar nossa classe de manipulação de dados
		$i = new ManipulaSql();

		//remove acento dos usuários
		//$usuario = removeAcentos($_POST['usuario']);

		//Montamos nossa query de inserção
		$sql = "INSERT INTO " .TB_INTERACAO. "(ticket_id,interacao_datahora,interacao_texto,interacao_suporte,interacao_usuario)
				VALUES
				('" .$_GET['cod']. "',
				 '" .date('Y-m-d H:i:s'). "',
				 '" .$_POST['texto']. "',
                                 'S',
                                 '" .$_SESSION['usuario'][0]. "'

                                 )";

		//Agora chamamos o método reposável por inserir
		//vindo da classe de manipulação do mysql
		$i->Insere($sql);

                //Função de Envio de E-mail notificando o cliente da resposta.
                $s = funcoes::enviamail($_POST['cliente_nome'], $_POST['cliente_email'], $_POST['assunto'], $_POST['texto']);


		//verificamos se tudo ocorreu bem
		if($i->content === true)
		{
			//Caso tudo tenha ocorrido bem retorna true
			return true;
		}
		else
		{
			//retorna false se deu erro
			return false;
		}
	}

    public static function ListaInteracao()
	{
		//Monto minha query de consulta, utilizando nossa constante
		//para definir qual tabela vamos trabalhar
		$sql = "SELECT * FROM " .TB_INTERACAO. " WHERE ticket_id=" .$_GET['cod']. " ORDER BY interacao_datahora ";
		//Instancio a classe de manipulação

       // echo $sql;
		$res = new ManipulaSql();
		//Chamamos o método reponsável por selecionar os dados
		$res->Seleciona($sql);


		//nosso método retorna o objeto content que contém os dados da consulta
		//então vamos verificar se nossa consulta retornou alguma informação
		if(isset($res->content) && $res->content !== NULL)
		{
			//Caso existam dados, armazenamos o resultado da consulta
			//em nossa variável de retorno CONTENT
			return $res->content;
		}
		//Caso não seja encontrado nenhum administrador, então retornamos false
		//pois assim podemos fazer a validação em nossa view
		else
		{
			return false;
		}
	}

	public static function remove()
	{
		//vamos instanciar nossa classe de manipulação de dados
		$r = new ManipulaSql();
		//Montamos nossa query de remoção
		$sql = "DELETE FROM " .TB_PERFIL. " WHERE perfil_id='" .$_GET['cod']. "'";
		//Agora chamamos o método reposável por remover
		//vindo da classe de manipulação do mysql
		$r->Remove($sql);
		//verificamos se tudo ocorreu bem
		if($r->content === true)
		{
			//Caso tudo tenha ocorrido bem retorna true
			return true;
		}
		else
		{
			//retorna false se deu erro
			return false;
		}
	}

	public static function atualiza()
	{
		//vamos instanciar nossa classe de manipulação de dados
		$a = new ManipulaSql();

		//Montamos nossa query de atualização
		$sql = "UPDATE " .TB_TICKETS. "
		        SET
		       ticket_status='" .$_POST['status']. "'
		        WHERE
		        ticket_id='" .$_GET['cod']. "'";

                ////Agora chamamos o método reposável por atualizar
		//vindo da classe de manipulação do mysql
		$a->Atualiza($sql);
		//verificamos se tudo ocorreu bem
		if($a->content === true)
		{
			//Caso tudo tenha ocorrido bem retorna true
			return true;
		}
		else
		{
			//retorna false se deu erro
			return false;
		}
	}
        public static function AssuntoTitulo($id)
	{
            //Monto minha query de consulta, utilizando nossa constante
		//para definir qual tabela vamos trabalhar
		$sql = mysql_query("SELECT assunto_titulo FROM " .TB_ASSUNTO. " WHERE assunto_id=".$id);
		//Instancio a classe de manipulação
                return mysql_result($sql, 0);

        }

        public static function MostraSite($id)
	{
            //Monto minha query de consulta, utilizando nossa constante
		//para definir qual tabela vamos trabalhar
		$sql = mysql_query("SELECT site_nome FROM " .TB_SITES. " WHERE site_id=".$id);
		//Instancio a classe de manipulação
                return mysql_result($sql, 0);

        }

}